home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / hydra_fcv0_38b.lha / hydra-fc / c / fdiz-HydraFC next >
Text File  |  1995-09-11  |  31KB  |  1,021 lines

  1. /*fdiz v1.996
  2. $VER: FDizChck v1.996
  3. uploadchecker=$PO $BP $LF
  4. */
  5. options results
  6. arg node BrettMain FileName lng
  7. address value "rexx_FastCall"node
  8. lng=strip(lng)
  9. MODUS
  10. if result="ONLINEMODUS" then Chuck=1
  11. CLS=D2C(12)
  12. CR=D2C(13)||D2C(10)
  13. LF=D2C(10)
  14.  
  15. open(Config,"s:Hydra-FC.cfg","R")
  16.     CheckDupe=readln(Config)
  17.     dtfile=readln(Config)
  18.     readln(Config)
  19.     readln(Config)
  20.     readln(Config)
  21.     readln(Config)
  22.     sbl=readln(Config)
  23. close(Config)
  24.  
  25. /** Multilanguage Configuration **/
  26.  
  27. /* Englisch */
  28.  
  29. t1.0    =" User did not write any description "
  30. t2.0    ="     Please redescribe the file     "
  31. t3.0    ="   Ask Sysop if u do not know how   "
  32.  
  33. /* Deutsch */
  34.  
  35. t1.1    =" Noch keine Beschreibung eingegeben "
  36. t2.1    ="    Bitte Beschreibung nachholen    "
  37. t3.1    =" Wenn Unklarheiten, Sysop fragen... "
  38.  
  39. RED=''
  40. GRN=''
  41. YEL=''
  42. BLU=''
  43. MAG=''
  44. CYN=''
  45. WHT=''
  46. BLA=''
  47. NOR=''
  48. REDB=''
  49. GRNB=''
  50. YELB=''
  51. BLUB=''
  52. MAGB=''
  53. CYNB=''
  54. WHTB=''
  55. BLAB=''
  56.  
  57. signal on ioerr
  58. signal on syntax
  59. signal on error
  60.  
  61. /***** Variablen *****/
  62.  
  63. ud=date(e)" "time()
  64. filedatum=substr(ud,1,2)||"."||substr(ud,4,2)||".19"||substr(ud,7,2)" "substr(ud,10,2)"."substr(ud,13,2)"."substr(ud,16,2)
  65. datum=substr(ud,1,2)"."substr(ud,4,2)".19"substr(ud,7,2)
  66. uhrzeit=substr(ud,10,8)
  67.  
  68. back=d2c(8)
  69. LineEndMarker=d2c(1)
  70. NullMarker=d2c(0)
  71. DmsFileIdHeader='TR'NullMarker'P'NullMarker||NullMarker
  72. EXEMarker=NullMarker||NullMarker||d2c(3)'≤'NullMarker
  73. DmsDizHeader='TR'NullMarker'P'NullMarker||NullMarker||NullMarker'&'NullMarker'&'NullMarker'&'NullMarker||NullMarker
  74. BreakC=d2c(3)
  75. BreakX=d2c(24)
  76. BreakD=d2c(4)
  77. BreakT=d2c(20)
  78. pling=d2c(7)
  79. ShowLine=""
  80. header=MAG'H________________________________________________________________________________'WHT||BLUb||CR||CENTER('-  - o2331-49o41 - FRANCiS DRAKE / adapted by Mxlprx - Deep Forest BBS - -',80)NOR||MAG||CR'»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»'
  81.  
  82. menu.1=CYN'b'MAG'enutzen'
  83. menu.2=CYN'e'MAG'ditieren'
  84. menu.x='anzeige-'CYN'm'MAG'odus'
  85. menu.3='edit-'CYN's'MAG'end-by-string'
  86. menu.4='e'CYN'x'MAG'it'
  87. menuA.1=CYN'b'YEL'enutzen'NOR
  88. menuA.2=CYN'e'YEL'ditieren'NOR
  89. menuA.x=YEL'anzeige-'CYN'm'YEL'odus'NOR
  90. menuA.3=YEL'edit-'CYN's'YEL'end-by-string'NOR
  91. menuA.4=YEL'e'CYN'x'YEL'it'NOR
  92. MaxMenuItems=4
  93. MenuRow.1='19'
  94. MenuRow.2='28'
  95. MenuRow.3='38'
  96. MenuRow.4='58'
  97. DescLine=""
  98. Flid=0
  99. i=0
  100. topic=1
  101. startline=7
  102. start:
  103.     call ReadConfig
  104.     FileName=Strip(FileName,'L')
  105.     JamesName=Trim(SubStr(FileName,lastpos('/',FileName)+1))
  106.     BrettPfad=SubStr(FileName,1,LastPos('TEMP',upper(FileName))-1)
  107.     address command 'list 'Brettpfad'temp/ quick nohead files >ram:fnam'node
  108.     open(fn,"ram:fnam"node)
  109.  
  110.     do until upper(FName)=upper(JamesName)
  111.         FName=Readln(fn)
  112.     end
  113.     close(fn)
  114.     
  115.     JamesName=FName
  116.     Filename=BrettPfad"Temp/"JamesName
  117.  
  118.     call LaengenCheck
  119.     if ChangeFlag="ON" then call change
  120.  
  121. BX_HP;HauptPfad=result
  122. BrettName=Upper(SubStr(BrettMain,LastPos('/',BrettMain)+1))
  123. BrettHauptPfad=HauptPfad'bretter/'
  124. BinaerDatenPfad=BrettHauptPfad'binaerdaten/'
  125. ASKUSER;Uploader=left(result,20)
  126. RealUploadDate=date('s')
  127. RealUploadDate=left(SubStr(RealUploadDate,7,2)'.'SubStr(RealUploadDate,5,2)'.'SubStr(RealUploadDate,1,4),10)
  128. UploadDate=SubStr(RealUploadDate,1,6)||SubStr(RealUploadDate,9)
  129. UploadTime=left(Overlay('.',Overlay('.',Time(),3,1),6,1),8)
  130. Name=left(SubStr(FileName,LastPos('/',FileName)+1),20)
  131. Zugriffe='0  '
  132. if open(as,FileName,'R') = 0 then do;exit;end
  133. Laenge=Left(trunc(Seek(as,0,'E')/1024),4,' ')
  134. close(as)
  135. ParaLine=RealUploadDate' 'UploadTime||Uploader' 'Name' 'Zugriffe' 'Laenge' '
  136.     topic=1
  137.     send cls||header
  138.     if exists(BrettPfad||JamesName) then
  139.     do
  140.         send CYN'H'Center(text.1,80)
  141.         MailText=Center(MAG"file "YEL||Trim(Name)||MAG" existierte bereits!! ",98)||center("und wurde nach > "YEL||hauptpfad"schrott/"MAG" < verschoben",94)||Center("upload erfolgte in Brett "YEL||BrettName||MAG" von User "YEL||Trim(Uploader),98)
  142.         call MoveIt
  143.         call checkforfiles
  144.         exit
  145.     end
  146.     send center(text.2,80)
  147.     call GetInhaltFilePath
  148.     call GetCursorKeys
  149.  
  150. AddFileToNewsList:
  151.     if PerUlFlag="ON" then
  152.     do
  153.         if open(UUF,HauptPfad"USER/"Trim(Uploader)"/Uploads.txt","A")=0 then open(UUF,HauptPfad"USER/"Trim(Uploader)"/Uploads.txt","W")
  154.         WriteLn(UUF,FileName" - "RealUploadDate" - "UploadTime)
  155.         close(UUF)
  156.     end
  157.     call ReadSentString
  158.  
  159. CheckFileType:
  160.     send MAG"H"Center("file : "yel||trim(name),85)||NOR
  161.     if index(filename,".")~=0 then do
  162.         Suffix=Upper(SubStr(FileName,LastPos(".",FileName)))
  163.         Prefix=Upper(SubStr(FileName,1,Pos(".",FileName)))
  164.     end
  165.     if LhaFlag="ON" then if suffix=".LHA" | suffix=".LZH" then signal CheckLha
  166.     if TxTFlag="ON" then if suffix=".TXT" | suffix=".DOK" | suffix=".DOC" | suffix=".NFO" | suffix=".README" then signal TxTCheck
  167.     if ModFlag="ON" then if suffix=".OCT" | suffix=".MOD" | suffix=".MED" | prefix="OCT." | prefix="MED." | prefix="MOD." then signal PowerCheck
  168.     if ZipFlag="ON" & suffix=".ZIP" then signal CheckZip
  169.     if DMSFlag="ON" & suffix=".DMS" then signal CheckDms
  170.     if ARJFlag="ON" & suffix=".ARJ" then signal CheckArj
  171.         if suffix=".LZX" then signal CheckLZX
  172.     open(pic,FileName,'R')
  173.     FileType=ReadCH(pic,40)
  174.     close(pic)
  175.     if EXEflag="ON"then if index(FileType,ExeMarker) > 0 then signal ExeExtract
  176.     signal preview1
  177.  
  178. CheckLha:
  179.     check=1
  180.     ArchiveType='(LHA-ARCHiVE)'
  181.     if LhaTestFlag="ON" then call LHACheck
  182.     Address Command "c:LHA -q e "FileName" file_id.DIZ t:"
  183.     if StrpFlag="ON" & exists('t:LhaStrips'node) then do;send 'H'center(text.3,80);address command 'c:lha d -q -Qp -Qo 'filename' @t:LhaStrips'node;end
  184.     if AddFlag="ON" then call AddAnsi
  185.     send center(text.5,80)||CR||CR
  186.     check=0
  187.     lhc=1
  188.     if ~Exists("t:file_id.diz") then signal Preview1
  189.     else call ReadFileIdfromArchive
  190.     lhc=0
  191.     signal Preview
  192.  
  193. CheckLZX:
  194.     ArchiveType='(LZX-ARCHiVE)'
  195.     Address Command "c:LZX >NIL: e "FileName" file_id.DIZ t:"
  196.     lhc=1
  197.         if ~Exists("t:file_id.DIZ") then signal Preview1
  198.     else call ReadFileIdfromArchive
  199.     lhc=0
  200.     signal Preview
  201.  
  202. LHACheck:
  203.     send MAG'H'center(text.17,80)
  204.     address command "c:lha t "FileName
  205.     send MAG'H'center(text.17" ok",80)
  206.     return
  207.  
  208. AddAnsi:
  209.     call RandomRoutine /*interner random() befehl liefert immer die selbe ziffernfolge (unbrauchbar)*/
  210.     if open(OrAddFile,'s:FDizLhaAscii.'Zahl,'R')=0 then return
  211.     if LhaName="" then LhaName='<bbs.displayme>'
  212.     if SubStr(LhaName,1,1)="*" then
  213.     do
  214.         if length(LhaName)=1 then LhaName=">"name"<"
  215.         else LhaName=name||SubStr(LhaName,2)
  216.     end
  217.     send 'H'center(text.4,80)
  218.     Open(AddFile,'t:'LhaName,'W')
  219.     do until eof(OrAddFile)
  220.         WriteLn(AddFile,ReadLn(OrAddFile))
  221.     end
  222.     Close(OrAddFile)
  223.     if ArInfoFlag="ON" then
  224.   do
  225.         WriteLn(AddFile,D2C(10)||center("file : "trim(name)" uploaded to node "node,80))
  226.         WriteLn(AddFile,D2C(10)||center("uploader : "trim(Uploader)" - uploaddate : "trim(RealUploadDate)" - uploadtime : "trim(UploadTime),80))
  227.     end
  228.     close(AddFile)
  229.     address command 'c:lha -q m "'FileName'" t:'LhaName
  230.     return
  231.  
  232. CheckZip:
  233.     check=1
  234.     ArchiveType='(ZiP-ARCHiVE)'
  235.     if ZiPTestFlag="ON" then call ZiPCheck
  236.     Pragma('d','t:') /*pfad fuer unzip setzen*/
  237.     send center(text.5,80)||CR||CR
  238.     Address Command 'c:UnZip -a 'FileName' file_id.diz'
  239.     check=0
  240.     if ~Exists("t:file_id.diz") then signal Preview1
  241.     else call ReadFileIdfromArchive
  242.     signal Preview
  243.  
  244. ZiPCheck:
  245.     send MAG'H'center(text.18,80)
  246.     address command "c:unzip -t "FileName
  247.     send MAG'H'center(text.18" ok",80)
  248.     return
  249.  
  250. CheckArj:
  251.     check=1
  252.     send MAG'H'center(text.20,80)
  253.     address command "c:unarj t "FileName
  254.     send MAG'H'center(text.20" ok",80)
  255.     address command "c:unarj >t:fdiz"node".arj l "FileName
  256.     ArjCLine=""
  257.     if open(te,"t:fdiz"node".arj",R)=1 then
  258.     do
  259.     do until eof(te)
  260.         ArjCLine=ArjCLine||ReadLn(te)
  261.     end
  262.     close(te)
  263.     address command "c:delete t:fdiz"node".arj"
  264.     if index(upper(ArjCLine),"FILE_ID.DIZ")>0 then signal ExtractArj
  265.     end
  266.     check=0
  267.     signal Preview1
  268.  
  269. ExtractArj:
  270.     address command "c:makedir t:Fdiz"node"ArjInh"
  271.     oldpath=Pragma(D,"")
  272.     Pragma(D,"t:Fdiz"node"ArjInh")
  273.     address command "c:UnARJ e "FileName
  274.   Pragma(D,OldPath)
  275.   address command "c:copy t:Fdiz"node"ArjInh t:"
  276.     address command "c:delete t:Fdiz"node"ArjInh all"
  277.   call ReadFileIdfromArchive
  278.     check=0
  279.     signal Preview
  280.  
  281. TxTCheck:
  282.     ArchiveType='(TEXT-FiLE)'
  283.     send 'H'center(text.5,80)
  284.   address command 'c:txtextract e t:file_id.diz "'filename'"'
  285.     if ~exists("t:file_id.diz") then signal preview1
  286.     else call ReadFileIdfromArchive
  287.     signal preview
  288.  
  289. CheckDms:
  290.     ArchiveType='(DMS-ARCHiVE)'
  291.     if DmsTestFlag~="OFF" then call DmsCheck
  292.     if CustomDmsFlag="ON" then signal Dms202Extract
  293.     else signal CustomExtract
  294.  
  295. Dms202Extract:
  296.     send 'H'center(text.6,80)
  297.     check=1
  298.     address command "c:DMS VIEWDIZ "FileName" SAVE t:file_id.diz"
  299.     check=0
  300.     if ~exists("t:file_id.diz") then signal preview1
  301.     else call ReadFileIdfromArchive
  302.     signal preview
  303.  
  304. CustomExtract:
  305.     send 'H'center(text.5,80)
  306.     check=1
  307.   address command 'c:dmsdescript x t:file_id.diz "'filename'"'
  308.     check=0
  309.     if ~exists("t:file_id.diz") then signal preview1
  310.     else call ReadFileIdfromArchive
  311.     signal preview
  312.  
  313. DmsCheck:
  314.     send 'H'center(text.7,80)
  315.     check=1
  316.     address command 'c:DMSTEST 'DmsTestFlag' 'FileName
  317.     send 'H'center(text.7" ok",80)
  318.     check=0
  319.     return
  320.  
  321. ExeExtract:
  322.     send 'H'center(text.5,80)
  323.   address command 'c:exedescript x t:file_id.diz "'filename'"'
  324.     if ~exists("t:file_id.diz") then signal preview1
  325.     else call ReadFileIdfromArchive
  326.     signal preview
  327.  
  328. ReadFileIdfromArchive:
  329.     Flid=1
  330.     add=1
  331.     Open(fileid,"t:file_id.diz","R")
  332.     Do i=1 to 50
  333.         line.i=readln(fileid)
  334.         if eof(fileid) then leave
  335.         if Length(line.i)>36 then add=1
  336.     end
  337.     Close(fileid)
  338.     address command "c:delete >nil: t:file_id.diz"
  339.     i=i-1
  340.     /*if i>ConMaxLines then call CompShowLine*/
  341.     return
  342.  
  343. CompShowLine:
  344.     i=ConMaxLines
  345.     line.i="siehe Langer Kommentar"
  346.     do i2=1 to i
  347.         ShowLine=ShowLine||LF||line.i2
  348.     end
  349.     return
  350.  
  351. PowerCheck:
  352.     call GetModBytes
  353.  
  354. CheckMod:
  355.   if Marker="M.K." then call NJO(Trim(Translate(Bytes," ",NullMarker)),"ProTracker-Module!","ProTracker-Module")
  356.     if SubStr(Upper(bytes),1,4)="PP20" then call GetModName("Maybe ProTracker(pp)","Maybe ProTracker (powerpacked)")
  357.     if SubStr(Upper(bytes),1,3)="MMD" then call GetModName("OctaMed-Module!","OctaMed-Module")
  358.     else signal preview1
  359.  
  360. GetModName:
  361.     arg item1,item2
  362.     If Index(Upper(Name),'.OCT',1) > 0 | Index(Upper(Name),'.MOD',1) > 0 | Index(Upper(Name),'.MED',1) > 0 then item3=SubStr(Name,1,LastPos('.',Name)-1)
  363.     If Index(Upper(Name),'OCT.',1) > 0 | Index(Upper(Name),'MOD.',1) > 0 | Index(Upper(Name),'MED.',1) > 0 then item3=SubStr(Name,Pos('.',Name)+1)
  364.     call NJO(item3,item1,item2)
  365.  
  366. NJO:
  367.     parse arg ModTitle,ModType,ArchiveType
  368.     if ModAsLongFlag="ON" & ModType="ProTracker-Module!" then
  369.     do
  370.         call GetModInfo
  371.         call AddAsLong
  372.     end
  373.  
  374. JODU:
  375.     Close(MOD)
  376.     add=0
  377.     i=2
  378.   line.1="D"||text.8||ModTitle
  379.     line.2="D"||text.9||ModType
  380.     signal Preview
  381.  
  382. GetModBytes:
  383.     open(te,filename,'r')
  384.     Bytes=ReadCh(te,20)
  385.     seek(te,1080,'B')
  386.     Marker=upper(ReadCh(te,4))
  387.     close(te)
  388.     return
  389.  
  390. GetModInfo:
  391.     open(te,filename,'r')
  392.     ReadCh(te,20)
  393.     do tt=1 to 31
  394.         sample.tt=translate(ReadCh(te,21),' ',NullMarker)
  395.         ReadCh(te,9)
  396.     end
  397.   MoreInfo=ReadCh(te,9)
  398.   ModLen=c2d(SubStr(MoreInfo,1,1))
  399.     close(te)
  400.   sample.32="---------------------"
  401.     sam=-10
  402.     spalte=1
  403.     asd=sam
  404.     ShowLine=" Modtitle..... : "ModTitle||CR" Max.Positions : "ModLen||CR||CR".-----------------------. .-----------------------. .-----------------------. "CR
  405.     do for 32
  406.         sam=sam+11
  407.         spalte=spalte+1
  408.         ShowLine=ShowLine'| 'sample.sam' | '
  409.         if spalte=4 then
  410.         do
  411.             Spalte=1
  412.             asd=asd+1
  413.             sam=asd
  414.             send cr
  415.             ShowLine=ShowLine||CR
  416.         end
  417.     end
  418.     showline=showline"|"center("call FRANCiS-DRAKE",23)"|"CR"`-----------------------' `-----------------------' `-----------------------' "CR
  419.     return
  420.  
  421. AddAsLong:
  422.     open(te,BrettPfad||JamesName'.txt','w')
  423.     writeln(te,showline)
  424.     close(te)
  425.     return
  426.  
  427. Preview1:
  428.     send cls||header||center(text.13,80)
  429.     send WHT''startline'H    Name                 Datum   Zug. KB  Beschreibung                          'NOR||CR||WHT'    'RED||Name' 'WHT||UploadDate' 'Zugriffe' 'Laenge
  430.     call aEnterName
  431.     send WHT''startline+1'H    'RED||left(Name,20)
  432.     if timeout=0 then signal AddFileToInhFile
  433.     signal GetDesc
  434.  
  435. aEnterName:
  436.     if EnterLine~="ON" | AutoFlag="ON" then return
  437.     char2=trim(Name)
  438.     char3=char2' '
  439.     pointer=length(char2)
  440.  
  441. aShoName:
  442.     send WHT'H'left(char3,28)||NOR
  443.  
  444. aGetKeys:
  445.     TimeLeft=0
  446.     time('R')
  447.     do until seks >= TimeOut
  448.         seks=time('e')
  449.         oldtime=TimeLeft
  450.         TimeLeft=timeout-trunc(seks)
  451.         if TimeLeft>9 & TimeLeft~=oldtime then send RED'H'Center('timeout in 'TimeLeft' seks',80)
  452.         else if TimeLeft~=oldtime then send RED'H'Center('timeout in 0'TimeLeft' seks',80)
  453.         GetChar;char=result
  454.         if char=d2c('10') | char=d2c('13') then signal tjaui
  455.         if char=d2c('08') then signal aBackSpace
  456.         if char ~="" then signal aAddChar
  457.     end
  458.     timeout=0
  459.     return
  460.  
  461. aBackSpace:
  462.     if pointer=0 then do;pointer=pointer+1;signal aShoName;end
  463.     char2=delstr(char2,length(char2))
  464.     char3=char2' '
  465.     signal aShoName
  466.  
  467. aAddChar:
  468.     pointer=pointer+1
  469.     char2=char2||char
  470.     char3=char2' '
  471.     if length(char2) > 20 then signal tjaui
  472.     signal aShoName
  473.  
  474. tjaui:
  475.     jamesname=char2
  476.     name=left(jamesname,20)
  477.     filename2=brettpfad'temp/'char2
  478.     address command 'c:rename "'filename'" 'filename2
  479.     filename=filename2
  480.     return
  481.  
  482. GetDesc:
  483.     written=0
  484.     DescLine=""
  485.     add=0
  486.     a=7
  487.     do b=1 to 19
  488.         if b>1 then send ''a+b+2'H'copies(' ',80)CR||BLU||copies('-',80)
  489.         if SntFlag="ON" then send ''a+b+2'H'right(" ",36)WHT||left(SentString,44)||CR||BLU||copies('-',80)
  490.         send ''a+b+1';37H'
  491.         /* CHECKCARRIER
  492.         carrier=result
  493.         if carrier="NO CARRIER" then do
  494.             call AddNCDescription
  495.             signal weiter2
  496.             end */
  497.         BlueRead 44;cripto=result
  498.         if cripto="" then leave
  499.         written=1
  500.         send ''a+b+1';37H'left(cripto,44)
  501.         DescLine=DescLine||"D"cripto||LineEndMarker
  502.     end
  503. if written=0 then call AddNCDescription
  504.  
  505. weiter2:
  506.     if b=1 & SntFlag="ON" then send ''a+b+1';37H'copies(' ',44)""a+b+2"H"right(" ",36)WHT||left(SentString,44)"               "||""a+b+3"H"BLU||copies('-',80)
  507.     if b=1 & SntFlag~="ON" then send ''a+b+1';37H'copies(' ',44)||CR||BLU||copies('-',80)
  508.     if b>1 & SntFlag="ON" then do;send ''a+b+3'H'copies(' ',80)""a+b+1"H"right(" ",36)WHT||left(SentString,44)"               "||""a+b+2"H"BLU||copies('-',80);end
  509.     if b>1 & SntFlag~="ON" then do;send ''a+b+2'H'copies(' ',80)''a+b+1'H'BLU||copies('-',80);DescLine=DelStr(DescLine,Length(DescLine));end
  510.     if FileIdAdder="ON" then if ArchiveType='(LHA-ARCHiVE)' | ArchiveType='(TEXT-FiLE)' then call DescAdder
  511.     signal AddFileToInhFile
  512.  
  513. DescAdder:
  514.     send CR||CR||YEL||center(text.14||blub' 'NOR,80)
  515.     time('R')
  516.     do until seks >= TimeOut
  517.         seks=time('e')
  518.         TimeLeft=timeout-trunc(seks)
  519.         if TimeLeft>9 then send RED'H'Center('timeout in 'TimeLeft' seks',80)
  520.         else send RED'H'Center('timeout in 0'TimeLeft' seks',80)
  521.         getchar;answer=upper(result)
  522.         if chuck=1 then CheckCarrier;if result="NO CARRIER" then do;ols=1;signal AddFileToInhFile;end
  523.         if answer="J" then signal AddDesc
  524.         if answer="N" then signal AddFileToInhFile
  525.         if answer=d2c(13) then signal AddFileToInhFile
  526.         if answer~="" then time('R')
  527.     end
  528.     send CR||CR||RED||center('TimeOut... autodescripting',80)
  529.     return
  530.  
  531. AddDesc:
  532.     AddLine=Translate(DescLine,d2c(10),LineEndMarker)
  533.     open(AD,'t:file_id.diz','w')
  534.     WriteLn(AD,AddLine)
  535.     close(AD)
  536.     if ArchiveType='(LHA-ARCHiVE)' then address command 'c:lha a "'FileName'" t:file_id.diz'
  537.     if ArchiveType='(TEXT-FiLE)' then address command 'c:TxtExtract a t:file_id.diz 'filename
  538.     if ArchiveType='(DMS-ARCHiVE)' then address command 'c:dmsdescript a t:file_id.diz 'filename
  539.     address command 'c:delete t:file_id.diz'
  540.     return
  541.  
  542. preview:
  543.     send WHT''startline'H    Name                 Datum   Zug. KB  Beschreibung                          'NOR||CR
  544.     send WHT'    'RED||left(" ",20)' 'WHT||UploadDate' 'Zugriffe' 'Laenge
  545.     call aEnterName
  546.  
  547. Main:
  548.     call ShowHead
  549.     ownline=""
  550.     if add=0 then call NormDesc
  551.     else call LongDesc
  552.     call ShowAll
  553.  
  554. Menu:
  555.     send header
  556.     if AutoFlag="ON" then do;send ""Startline+i+4"H"RED||center("Autobetrieb ist eingeschaltet...",80);signal AddFileToInhFile;end
  557.   if BenuFlag="ON" then do;call showmenu;signal MenuSelector;end
  558.     else signal AddFileToInhFile
  559.  
  560. ShowMenu:
  561.     send MAG''StartLine+i+3+add';'MenuRow.1'H'Menu.1,
  562.                     ''StartLine+i+3+add';'MenuRow.2'H'menu.2,
  563.                     ''StartLine+i+3+add';'MenuRow.3'H'menu.3,
  564.                     ''StartLine+i+3+add';'MenuRow.4'H'menu.4
  565.     return
  566.  
  567. ShowHead:
  568.     send WHT''startline'H    Name                 Datum   Zug. KB  Beschreibung                          'NOR||CR
  569.     send WHT''startline+1'H    'RED||left(Name,20)' 'WHT||UploadDate' 'Zugriffe' 'Laenge
  570.     return
  571.  
  572. ShowAll:
  573.     if add=0 & SntFlag="ON" then
  574.     do
  575.         i=i+1
  576.         if ownline~="" then send ""startline+i-1"H"right(" ",41)MAG'|'WHT||left(ownline,36)||CR||right(" ",41)MAG'|'WHT||SentString||CR
  577.         else send ""startline+i"H"right(" ",41)MAG'|'WHT||SentString||CR
  578.     end
  579.   if add=1 & SntFlag="ON" then
  580.     do
  581.         i=i+1
  582.         select
  583.         when ownline~="" then send ""startline+i"H"right(" ",middler-2)MAG'|'WHT||left(ownline,anz)||CR||right(" ",middler-2)MAG'|'WHT||SentString||CR
  584.         when ownline="" then send ""startline+i+1"H"right(" ",middler-2)MAG'|'WHT||SentString||CR
  585.         when benuflag="ON" then send ""startline+i+1"H"right(" ",middler-2)MAG'|'WHT||SentString||CR
  586.         otherwise send ""startline+i"H"right(" ",middler-2)MAG'|'WHT||left(SentString,anz)||CR
  587.         end
  588.     end
  589.     send BLU''StartLine+i+1+add'H--------------------------------------------------------------------------------'
  590.     if sntflag="ON" then i=i-1
  591.     return
  592.  
  593. MenuSelector:
  594.     send ''StartLine+i+3+add';'MenuRow.topic'H'MenuA.topic
  595.  
  596. Selection:
  597.     time('R')
  598.     do until seks >= TimeOut
  599.         seks=time('e')
  600.         TimeLeft=timeout-trunc(seks)
  601.         if TimeLeft>9 then send RED'H'Center('timeout in 'TimeLeft' seks',80)
  602.         else send RED'H'Center('timeout in 0'TimeLeft' seks',80)
  603.         getchar;answer=upper(result)
  604.         if chuck=1 then CheckCarrier;if result="NO CARRIER" then do;ols=1;signal AddFileToInhFile;end
  605.         if answer="4" then signal lins
  606.         if answer="6" then signal rets
  607.         if answer="5" then signal CheckIt
  608.         if answer=d2c(13) then signal CheckIt
  609.         if answer="B" then signal AddFileToInhFile
  610.         if answer="X" then signal preview1
  611.         if answer="E" then signal editfile
  612.         if answer>"" then time('R')
  613.         if answer="" then
  614.         do
  615.             getchar;bb=result
  616.             getchar;cc=result
  617.             if answer||bb||cc=re then signal rets
  618.             if answer||bb||cc=le then signal lins
  619.         end
  620.     end
  621.     send RED''StartLine+i+6+add'H'center('TimeOut... autodescripting',80)
  622.     signal AddFileToInhFile
  623.  
  624. rets:
  625.     Topic=Topic+1
  626.     Topic2=Topic-1
  627.     if Topic=MaxMenuItems+1 then
  628.         do
  629.             Topic=Topic-1
  630.             signal Selection
  631.         end
  632.     send MAG''StartLine+i+3+add';'MenuRow.topic2'H'Menu.topic2
  633.     signal MenuSelector
  634.  
  635. lins:
  636.     Topic=Topic-1
  637.     Topic2=Topic+1
  638.     if Topic="0" then
  639.         do
  640.             Topic=Topic+1
  641.             signal Selection
  642.         end
  643.     send MAG''StartLine+i+3+add';'MenuRow.topic2'H'Menu.topic2
  644.     signal MenuSelector
  645.  
  646. CheckIt:
  647.     if topic=1 then signal AddFileToInhFile
  648.     if topic=2 then signal editfile
  649.     if topic=3 then signal Selection
  650.     if topic=4 then signal preview1
  651.     signal Selection
  652.  
  653. NormDesc:
  654.     do c=1 to i
  655.         DescLine=DescLine||SubStr(Line.c,1,44)||LineEndMarker
  656.         if c=1 then send cr
  657.         send copies(" ",36)WHT||line.c||CR
  658.     end
  659.     if TimeOut=0 | BenuFlag="ON" | AutoFlag="ON" then return
  660.     send MAG||right(text.15,44)
  661.     BlueRead 36
  662.    OwnLine=result
  663.     if OwnLine~="" then do;i=i+1;DescLine=DescLine||OwnLine||LineEndMarker;end
  664.     return
  665.  
  666. LongDesc:
  667.   send CR
  668.     do c=1 to i
  669.         DescLine=DescLine||MasterMiddler||Line.c||LineEndMarker
  670.         send copies(" ",middler-2)" "||WHT||line.c||CR
  671.     end
  672.     if TimeOut=0 | BenuFlag="ON" | AutoFlag="ON" then return
  673.     send MAG||right(text.15,middler-1)
  674.     BlueRead anz
  675.    OwnLine=result
  676.     if OwnLine~="" then do;i=i+1;DescLine=DescLine||MasterMiddler||result||LineEndMarker;end
  677.   return
  678.  
  679. AddFileToInhFile:
  680.  
  681.     DescLine="[-^-≈-^-[  HYDRA-Upload  ]-^-≈-^-] "||LineEndMarker||DescLine
  682.     if add=0 & SntFlag="ON" then DescLine=Descline"D"SentString
  683.      if add=1 & SntFlag="ON" then DescLine=Descline||MasterMiddler||SentString
  684.     if add=0 & FirstName~="" & Flid=1 then DescLine=FirstName||LineEndMarker||DescLine
  685.     if add=1 & FirstName~="" & Flid=1 then DescLine=LineEndMarker||MasterMiddler||FirstName||DescLine
  686.     startline=7
  687.     send ''startline+i+add+7'H'
  688.     US_UP;UploadedBytes=result
  689.     US_FR;OldFreiraum=result
  690.     if BrettRatio="*" then do;US_RA;Ratio=result;end
  691.     else Ratio=BrettRatio
  692.     open(tmp1,FileName,'r')
  693.     FLaenge=Seek(tmp1,'0','E')
  694.     close(tmp1)
  695.     FLaenge2=ratio*FLaenge
  696.     US_UP UploadedBytes+FLaenge
  697.     US_FR OldFreiRaum+FLaenge2
  698.     InhaltFileName=BinaerDatenPfad||SP||BrettName'.inh'
  699.     if open(InhFile,InhaltFileName,'a')=0 then open(InhFile,InhaltFileName,'w')
  700.         WriteLn(InhFile,ParaLine||DescLine)
  701.     close(InhFile)
  702.  
  703. /* Filenamen in Mailbox-Checker-Liste aufnehmen, wenn Dupecheck aktiv */
  704.  
  705.     If CheckDupe=1 then do
  706.         open(ULDL,dtfile,'A')
  707.         if dtfile="mb:protokolle/UpDownloadprotokoll" then writeln(ULDL,uhrzeit' 'datum' 'trim(uploader)' H-Upload   'left(filename,40,' '))
  708.                                   else WriteLn(ULDL,Jamesname)
  709.         close(ULDL)
  710.     end
  711.      address command 'c:copy "'FileName'" 'BrettPfad
  712.     address command 'c:delete "'FileName'"'
  713.     if KomFlag="ON" then
  714.     do
  715.         KomString=trim(left(DescLine,79))
  716.         KomString=Translate(KomString,'`','"')
  717.         KomString=Translate(KomString,"'","`")
  718.         address command 'c:FileNote "'BrettPfad||JamesName'" "'KomString'"'
  719.     end
  720.     if ols=1 then do;exit;end
  721.     call checkforfiles
  722.     command 'b 'BrettMain
  723.     exit
  724.  
  725. checkforfiles:
  726.     address command 'dir >t:empty.tmp 'brettpfad'temp'
  727.     open(em,'t:empty.tmp','R')
  728.     if seek(em,'0','E') > 0 then do;close(em);address command 'c:delete t:empty.tmp';exit;end
  729.     close(em)
  730.     address command 'c:delete t:empty.tmp'
  731.     return
  732.  
  733. EditFile:
  734.     open(TempFile,'t:Fdiz'node'.tmp0','w')
  735.     if add=0 then WriteLn(TempFile,'|----------------\/----------------|')
  736.     else WriteLn(TempFile,'|'copies('-',anz-2)'|')
  737.     do count=1 to i
  738.         WriteLn(TempFile,line.count)
  739.     end
  740.     close(TempFile)
  741.     EDIT 't:Fdiz'node'.tmp0'
  742.     if ~exists('t:Fdiz'node'.tmp0') then do;i=1;line.1="";send cls;signal main;end
  743.     open(TempFile,'t:Fdiz'node'.tmp0','r')
  744.     i=0
  745.     ReadLn(TempFile)
  746.     do i=1 to 20 until eof(TempFile)
  747.         Line.i=ReadLn(TempFile)
  748.     end
  749.     i=i-1
  750.     close(TempFile)
  751.     address command 'c:delete t:Fdiz'node'.tmp0 QUIET'
  752.     send cls
  753.     descline=""
  754.     signal main
  755.  
  756. AddFileToProtokoll:
  757.     if open(TXTFile,HauptPfad'USER/SYSOP/.txt','r')=0 then open(TXTFile,HauptPfad'USER/SYSOP/.txt','w')
  758.     if open(IndexFile,HauptPfad'USER/SYSOP/.index','r')=0 then open(IndexFile,HauptPfad'USER/SYSOP/.index','w')
  759.     seek(IndexFile,0,'E')
  760.     WriteLn(IndexFile,seek(TXTFile,0,'E'))
  761.     Time=Overlay('.',Overlay('.',Time(),3,1),6,1)
  762.     datum=date('s')
  763.     datum=SubStr(datum,7,2)'.'SubStr(datum,5,2)'.'SubStr(datum,1,4)
  764.     MailLine=Datum" "time"    1 Asc "FDizChecker"         "YEL"FDizMessage"NOR
  765.     WriteLn(IndexFile,MailLine)
  766.     WriteLn(TXTFile,"Absender  : FDizChecker")
  767.     WriteLn(TXTFile,"Betreff   : FDizMessage")
  768.     WriteLn(TXTFile,"Datum     : "Datum)
  769.     WriteLn(TXTFile,"Uhrzeit   : "Time)
  770.     WriteLn(TXTFile,"Zeilen    : 20")
  771.     WriteLN(TXTFile,"")
  772.     WriteLN(TXTFile,"")
  773.     WriteLN(TXTFile,MailText)
  774.     close(IndexFile)
  775.     close(TXTFile)
  776.     return
  777.  
  778. GetInhaltFilePath:
  779.     Address Command 'c:two >t:Fdiz'node'.tmp1 'BrettMain' -n -l'
  780.     Open(InhaltFile,'t:Fdiz'node'.tmp1','R')
  781.     TwoString=ReadLn(InhaltFile)
  782.     parse var TwoString sp BrettLevel
  783.     Close(InhaltFile)
  784.     address command 'c:delete t:Fdiz'node'.tmp1'
  785.     BrettLevel=Strip(brettlevel)
  786.     BrettRatio="*"
  787.     return
  788.  
  789. ReadInhFile:
  790.     InhaltFileName=BinaerDatenPfad||SP||BrettName'.inh'
  791.     if open(asd,InhaltFileName,'R')=0 then do;send MAG||CR||CR||Center(text.16,80)Center('keine files da, .inh-file fehlt',80);exit;end
  792.     do MaxInhLines=1 to 10000 until eof(asd)
  793.         dat.MaxInhLines=ReadLn(asd)
  794.     end
  795.     close(asd)
  796.     return
  797.  
  798. LaengenCheck:
  799.     if length(JamesName) > 20 then
  800.     do
  801.         JamesName=left(JamesName,20)
  802.         filename2=BrettPfad'temp/'jamesname
  803.         address command 'c:rename "'FileName'" "'filename2'"'
  804.         filename=filename2
  805.     end
  806.  
  807. FileNameCheck:
  808.     if index(JamesName,'*') > 0 then call Boese('_','*')
  809.     if index(JamesName,',') > 0 then call Boese('.',',')
  810.     if words(jamesname) > 1 then call Boese('_',' ')
  811.     return
  812.  
  813. Change:
  814.     if upper(SubStr(JamesName,1,4))="MOD." then
  815.     do
  816.         JamesName=SubStr(JamesName,5)'.MOD'
  817.         NewName=BrettPfad'temp/'JamesName
  818.         address command 'c:rename "'FileName'" "'NewName'"'
  819.         FileName=NewName
  820.     end
  821.     return
  822.  
  823. Boese:
  824.     arg VonZu,Indikator
  825.     jamesname=translate(jamesname,VonZu,Indikator)
  826.     filename2=BrettPfad'temp/'jamesname
  827.     address command 'c:rename "'FileName'" "'filename2'"'
  828.     filename=filename2
  829.     return
  830.  
  831. ReadConfig:
  832.     open(config,'s:FdizChck.cfg','R')
  833.     ReadLn(config)
  834.     cfgline=ReadLn(config)
  835.     LhaFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  836.     cfgline=ReadLn(config)
  837.     ZipFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  838.     cfgline=ReadLn(config)
  839.     DMSFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  840.     cfgline=ReadLn(config)
  841.     ARJFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  842.     cfgline=ReadLn(config)
  843.     EXEFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  844.     cfgline=ReadLn(config)
  845.     TXTFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  846.     cfgline=ReadLn(config)
  847.     ModFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  848.     cfgline=ReadLn(config)
  849.     PiCFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  850.     cfgline=ReadLn(config)
  851.     FileIdAdder=SubStr(cfgline,LastPos('=',cfgline)+1)
  852.     cfgline=ReadLn(config)
  853.     CustomDmsFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  854.     cfgline=ReadLn(config)
  855.     SntFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  856.     cfgline=ReadLn(config)
  857.     MamFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  858.     cfgline=ReadLn(config)
  859.     StrtNum=SubStr(cfgline,LastPos('=',cfgline)+1)
  860.     cfgline=ReadLn(config)
  861.     NewFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  862.     cfgline=ReadLn(config)
  863.     ChckFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  864.     cfgline=ReadLn(config)
  865.     KomFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  866.     cfgline=ReadLn(config)
  867.     TimeOut=SubStr(cfgline,LastPos('=',cfgline)+1)
  868.     cfgline=ReadLn(config)
  869.     AutoFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  870.     cfgline=ReadLn(config)
  871.     BenuFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  872.     cfgline=ReadLn(config)
  873.     ARJTestFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  874.     cfgline=ReadLn(config)
  875.     ZiPTestFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  876.     cfgline=ReadLn(config)
  877.     LHATestFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  878.     cfgline=ReadLn(config)
  879.     AddFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  880.     cfgline=ReadLn(config)
  881.     LhaName=SubStr(cfgline,LastPos('=',cfgline)+1)
  882.     cfgline=ReadLn(config)
  883.     StrpFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  884.     cfgline=ReadLn(config)
  885.     MaxZahl=SubStr(cfgline,LastPos('=',cfgline)+1)
  886.     cfgline=ReadLn(config)
  887.     ArInfoFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  888.     cfgline=ReadLn(config)
  889.     LonFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  890.     cfgline=ReadLn(config)
  891.     ChangeFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  892.     cfgline=ReadLn(config)
  893.     ModAsLongFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  894.     cfgline=ReadLn(config)
  895.     FirstName=SubStr(cfgline,LastPos('=',cfgline)+1)
  896.     cfgline=ReadLn(config)
  897.     PerUlFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  898.     cfgline=ReadLn(config)
  899.     DmsTestFlag=SubStr(cfgline,LastPos('=',cfgline)+1)
  900.     cfgline=ReadLn(config)
  901.     EnterLine=SubStr(cfgline,LastPos('=',cfgline)+1)
  902.     cfgline=ReadLn(config)
  903.     Language=SubStr(cfgline,LastPos('=',cfgline)+1)
  904.     close(config)
  905.     SchtripName=""
  906.     if open(LhaStrp,'s:FdizLHAStripNames','R')>0 then
  907.     do
  908.         open(te,'t:LhaStrips'node,W)
  909.         ReadLn(LhaStrp)
  910.         do until eof(LhaStrp)
  911.             WriteLn(te,ReadLn(LhaStrp))
  912.         end
  913.     close(te)
  914.     close(LhaStrp)
  915.         end
  916.     open(lin,'s:FdizLingualFile.'Language,'r')
  917.   ReadLn(lin)
  918.     do gu=1 to 40 until eof(lin)
  919.         text.gu=ReadLn(lin)
  920.     end
  921.     Close(lin)
  922.     if datatype(TimeOut,'N')=0 | TimeOut="" then TimeOut=15
  923.     Add=0
  924.     if MamFlag="ON" then Add=1
  925.  
  926. CalcBreite:
  927.     if StrtNum > 79 then StrtNum=79
  928.     Middler=80-StrtNum
  929.     StrtNum=StrtNum-36
  930.     if StrtNum < 0 then MasterMiddler=""
  931.     else MasterMiddler=""StrtNum"D"
  932.     Anz=StrtNum+37
  933.     return
  934.  
  935. ReadSentString:
  936.     if open(SentFile,HauptPfad'USER/'Trim(Uploader)'/'sbl,'R')=1 then
  937.     do
  938.         SentString=''ReadLn(SentFile)' '
  939.         close(SentFile)
  940.     end
  941.     else SentString='sent by : 'Uploader
  942.     return
  943.  
  944. MoveIt:
  945.     call AddFileToProtokoll
  946.     address command 'c:copy "'filename'" 'hauptpfad'schrott/'
  947.     address command 'c:delete "'filename'"'
  948.     return
  949.  
  950. GetCursorKeys:
  951.   open(kk,HauptPfad"USER/"Trim(Uploader)"/setup","R")
  952.   readln(kk);readln(kk);readln(kk);readln(kk)
  953.   up=d2c(ReadLn(kk))||d2c(ReadLn(kk))||d2c(ReadLn(kk))
  954.   do=d2c(ReadLn(kk))||d2c(ReadLn(kk))||d2c(ReadLn(kk))
  955.   re=d2c(ReadLn(kk))||d2c(ReadLn(kk))||d2c(ReadLn(kk))
  956.   le=d2c(ReadLn(kk))||d2c(ReadLn(kk))||d2c(ReadLn(kk))
  957.   close(kk)
  958.   return
  959.  
  960. randomroutine:
  961.     rand=time(e)
  962.     zahl=substr(rand,length(rand)-1,1)
  963.     zahl=zahl+substr(time(),length(time()),1)
  964.     if zahl> maxzahl then zahl=zahl//2
  965.     if Zahl=0 then do
  966.      rand=time()
  967.      zahl=substr(rand,length(rand),1)
  968.      if zahl> maxzahl then zahl=zahl//2
  969.      if Zahl=0 then zahl=1
  970.     end
  971.     return
  972.  
  973. ERROR:
  974. if check=1 & ArchiveType="(DMS-ARCHiVE)" then signal CheckError
  975. if check=1 & ArchiveType="(LHA-ARCHiVE)" then signal CheckError
  976. if check=1 & ArchiveType="(ZiP-ARCHiVE)" then signal CheckError
  977.  
  978. SEND CLS
  979. SEND MAG'H'CENTER('-------------------+╫#-^╖System-Message╖^-#╫+-------------------',80)
  980. SEND WHT||CENTER('An error has occured in line #'sigl'!',80)
  981. SEND WHT||CENTER('Please notify the sysop !!!',80)
  982. SEND MAG||CENTER('---+╫#-^╖---------------------------------╖^-#╫+---',80)
  983. SEND MAG||CENTER('and dont forget to call da FRANCiS DRAKE at: o2331-49o41',80)
  984. SEND center('Error : 'errortext(rc)'  taste',80);read
  985. exit
  986.  
  987. CheckError:
  988.     mailtext=mag||center("file "RED">> "YEL||trim(name)||RED" <<"MAG" ist nicht in Ordnung",98)||center("und wurde nach > "YEL||hauptpfad"schrott/"MAG" < verschoben",94)||Center("upload erfolgte in Brett "YEL||BrettName||MAG" von User "YEL||Trim(Uploader),94)
  989.   send CR||CR||mag||center("file "RED">> "YEL||trim(name)||RED" <<"MAG" ist nicht in Ordnung",98)
  990.     send cr||cr||center("verschiebe file ins SCHROTT-Verzeichnis",80)
  991.     call MoveIt
  992.     exit
  993.  
  994. AddNCDescription:
  995. DescLine=DescLine||"D"RED"<"t1.lng">"||LineEndMarker
  996. DescLine=DescLine||"D"RED"<"t2.lng">"||LineEndMarker
  997. DescLine=DescLine||"D"RED"<"t3.lng">"||LineEndMarker
  998. return
  999.  
  1000. SYNTAX:
  1001. SEND CLS
  1002. SEND MAG'H'CENTER('-------------------+╫#-^╖System-Message╖^-#╫+-------------------',80)
  1003. SEND WHT||CENTER('An error has occured in line #'sigl'!',80)
  1004. SEND WHT||CENTER('A syntax error has occured in line #'sigl'!',80)
  1005. SEND WHT||CENTER('Please notify da sysop !!!',80)
  1006. SEND MAG||CENTER('---+╫#-^╖---------------------------------╖^-#╫+---',80)
  1007. SEND MAG||CENTER('and dont forget to call da FRANCiS DRAKE at: o2331-49o41',80)
  1008. SEND center('Error : 'errortext(rc)'  taste',80);read
  1009. exit
  1010.  
  1011. IOERR:
  1012. SEND CLS
  1013. send RC;read
  1014. SEND MAG'H'CENTER('-------------------+╫#-^╖System-Message╖^-#╫+-------------------',80)
  1015. SEND WHT||CENTER('An I/O error has occured in line #'sigl'!',80)
  1016. SEND WHT||CENTER('Please notify da sysop !!!',80)
  1017. SEND MAG||CENTER('---+╫#-^╖---------------------------------╖^-#╫+---',80)
  1018. SEND MAG||CENTER('and dont forget to call da FRANCiS DRAKE at: o2331-49o41',80)
  1019. SEND center('returncode : 'rc'  taste',80);read
  1020. exit
  1021.